package com.ys.entity.storage;

import java.util.Date;
import javax.persistence.Table;
import com.alibaba.fastjson.annotation.JSONField;
import com.ys.annotation.YsField;
import com.ys.entity.base.BaseEntity;
/**
*/
@Table(name="TCC_OfflineAssemble", catalog="Id")
public class TccOfflineAssemble extends BaseEntity<TccOfflineAssemble> {

	@YsField(nameDataBase="Id", nameJava="id", typeDataBase="bigint")
	private Long id;
	@YsField(nameDataBase="Bid", nameJava="bid", typeDataBase="varchar")
	private String bid;
	@YsField(nameDataBase="PrintStatus", nameJava="printStatus", typeDataBase="tinyint")
	private Integer printStatus;
	@YsField(nameDataBase="State", nameJava="state", typeDataBase="tinyint")
	private Integer state;
	@YsField(nameDataBase="AssemblyListBid", nameJava="assemblyListBid", typeDataBase="varchar")
	private String assemblyListBid;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="AuditTime", nameJava="auditTime", typeDataBase="datetime")
	private Date auditTime;
	@YsField(nameDataBase="AuditingUserId", nameJava="auditingUserId", typeDataBase="varchar")
	private String auditingUserId;
	@YsField(nameDataBase="ParentPreAssembleNumber", nameJava="parentPreAssembleNumber", typeDataBase="int")
	private Integer parentPreAssembleNumber;
	@YsField(nameDataBase="ParentAssembleNumber", nameJava="parentAssembleNumber", typeDataBase="int")
	private Integer parentAssembleNumber;
	@YsField(nameDataBase="StockControlIdByIn", nameJava="stockControlIdByIn", typeDataBase="bigint")
	private Long stockControlIdByIn;
	@YsField(nameDataBase="Status", nameJava="status", typeDataBase="tinyint")
	private Integer status;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="CreateTime", nameJava="createTime", typeDataBase="datetime")
	private Date createTime;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="UpdateTime", nameJava="updateTime", typeDataBase="datetime")
	private Date updateTime;

	public Long getId() {
		return id;
	}
	public TccOfflineAssemble setId(Long id) {
		this.id = id;
		return this;
	}
	public String getBid() {
		return bid;
	}
	public TccOfflineAssemble setBid(String bid) {
		this.bid = bid;
		return this;
	}
	public Integer getPrintStatus() {
		return printStatus;
	}
	public TccOfflineAssemble setPrintStatus(Integer printStatus) {
		this.printStatus = printStatus;
		return this;
	}
	public Integer getState() {
		return state;
	}
	public TccOfflineAssemble setState(Integer state) {
		this.state = state;
		return this;
	}
	public String getAssemblyListBid() {
		return assemblyListBid;
	}
	public TccOfflineAssemble setAssemblyListBid(String assemblyListBid) {
		this.assemblyListBid = assemblyListBid;
		return this;
	}
	public Date getAuditTime() {
		return auditTime;
	}
	public TccOfflineAssemble setAuditTime(Date auditTime) {
		this.auditTime = auditTime;
		return this;
	}
	public String getAuditingUserId() {
		return auditingUserId;
	}
	public TccOfflineAssemble setAuditingUserId(String auditingUserId) {
		this.auditingUserId = auditingUserId;
		return this;
	}
	public Integer getParentPreAssembleNumber() {
		return parentPreAssembleNumber;
	}
	public TccOfflineAssemble setParentPreAssembleNumber(Integer parentPreAssembleNumber) {
		this.parentPreAssembleNumber = parentPreAssembleNumber;
		return this;
	}
	public Integer getParentAssembleNumber() {
		return parentAssembleNumber;
	}
	public TccOfflineAssemble setParentAssembleNumber(Integer parentAssembleNumber) {
		this.parentAssembleNumber = parentAssembleNumber;
		return this;
	}
	public Long getStockControlIdByIn() {
		return stockControlIdByIn;
	}
	public TccOfflineAssemble setStockControlIdByIn(Long stockControlIdByIn) {
		this.stockControlIdByIn = stockControlIdByIn;
		return this;
	}
	public Integer getStatus() {
		return status;
	}
	public TccOfflineAssemble setStatus(Integer status) {
		this.status = status;
		return this;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public TccOfflineAssemble setCreateTime(Date createTime) {
		this.createTime = createTime;
		return this;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public TccOfflineAssemble setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
		return this;
	}

	public static TccOfflineAssemble tccOfflineAssemble(
		String bid,
		Integer printStatus,
		Integer state,
		String assemblyListBid,
		Date auditTime,
		String auditingUserId,
		Integer parentPreAssembleNumber,
		Integer parentAssembleNumber,
		Long stockControlIdByIn,
		Integer status
			) {
		TccOfflineAssemble entity = new TccOfflineAssemble();
		entity.setBid(bid);
		entity.setPrintStatus(printStatus);
		entity.setState(state);
		entity.setAssemblyListBid(assemblyListBid);
		entity.setAuditTime(auditTime);
		entity.setAuditingUserId(auditingUserId);
		entity.setParentPreAssembleNumber(parentPreAssembleNumber);
		entity.setParentAssembleNumber(parentAssembleNumber);
		entity.setStockControlIdByIn(stockControlIdByIn);
		entity.setStatus(status);
		return entity;
	}


	@Override
	public String toString() {
		return "TccOfflineAssemble{" +
				"id=" + id +
				", bid='" + bid + '\'' +
				", printStatus=" + printStatus +
				", state=" + state +
				", assemblyListBid='" + assemblyListBid + '\'' +
				", auditTime=" + auditTime +
				", auditingUserId='" + auditingUserId + '\'' +
				", parentPreAssembleNumber=" + parentPreAssembleNumber +
				", parentAssembleNumber=" + parentAssembleNumber +
				", stockControlIdByIn=" + stockControlIdByIn +
				", status=" + status +
				", createTime=" + createTime +
				", updateTime=" + updateTime +
				'}';
	}
}